const fs = require('fs')

function getFilePath(fpath){
    return new Promise(function(resolve,reject){
        fs.readFile(fpath, 'utf-8', (err,data)=>{
            if(err) return reject(err)
            resolve(data)
        })
    })
}

// 按顺序读取 file1 -> file2 -> file3 "回调地狱"
// 通过 .then() 指定回调函数的时候，成功的回调函数必须传；失败的回调可以省略
// 如若 前面的 promise 执行失败了，为了不影响后续 promise的正常执行，则需添加失败的回调 并返回下一个 promise实例
// .catch(function(err){}) 会监听实例运行时是否出错，若出错则终止接下来的操作
console.log('*****↓')
getFilePath('./files/file1.txt')
    .then((data)=>{
        console.log(data)
        return getFilePath('./files/file2.txt')
    }).then((data)=>{
        console.log(data)
        return getFilePath('./files/file3.txt')
    }).then((data)=>{
        console.log(data)
    }).catch((err)=>{
        console.log(err.message)
    })